package com.shineoxygen.work.temp.controller;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

import com.shineoxygen.common.base.alipay.directpay.enums.PayStatus;
import com.shineoxygen.common.base.alipay.directpay.web.AliPayController;

/**
 * @author 王辉阳
 * @date 2016年10月24日 下午5:13:59
 * @Description 支付宝即时到账通知，安全期间应提供用户手动刷新支付状态功能
 */
@Controller
@RequestMapping("/aliDirectPayNotice")
public class AliDirectPayNoticeController extends AliPayController {
	private static final Logger logger = LogManager.getLogger(AliDirectPayNoticeController.class);

	@Override
	protected String returnHandler(PayStatus payStatus, ModelMap modelMap) {
		// TODO 更新数据库
		if (payStatus == null) {
			modelMap.addAttribute("status", "支付状态获取失败！");
		} else if (payStatus == PayStatus.TRADE_FINISHED || payStatus == PayStatus.TRADE_SUCCESS) {
			modelMap.addAttribute("status", "支付成功！");
		} else {
			modelMap.addAttribute("status", "支付不成功！");
		}
		// TODO 查看数据库支付状态..
		return "tempTest/alipay/return_url";
	}

	@Override
	protected void notifyHandlerl(PayStatus payStatus) {
		// TODO 修改数据库支付状态...
	}

}
